草庐IT

Web 应用

全部标签

amazon-web-services - 您如何在无服务器架构中平衡 nosql 存储和缓存?

我正在为无服务器环境(aws)编写一个基于go的应用程序。我对编写应用级代码还很陌生,而且我有基础架构背景。我知道缓存不是持久性的,但我真的需要关心真正无服务器环境中的持久性吗?从需求的角度来看,简单的dynamodb表可以满足我的存储需求,但缓存会给我更好的性能,对吧?我需要性能,这是我为应用程序使用go的一个重要原因。 最佳答案 您可以选择AWSElastiCache(redis或memcache),但这并不是真正的无服务器,因此可能不是一个选择。AWSLambda允许您在/tmp目录中写入,您可以在内存中缓存一些内容。不过,我

google-app-engine - Appengine 应用程序部署 - 错误 : At least one handler must be provided

应用引擎入门。我的应用没有前端。它是一个tcp/udp套接字服务器。当我尝试部署时,标题中出现错误。处理程序是为了什么?它不是网络应用程序。appengine是服务器应用的错误谷歌服务吗? 最佳答案 您始终可以添加骨架Web处理程序(它可能只返回404)以使部署实用程序满意。但请注意,GAE标准环境沙箱对基于套接字的应用程序非常严格,请参阅Limitationsandrestrictions:AlthoughAppEnginesupportssockets,therearecertainlimitationsandbehaviors

amazon-web-services - AWS 单 session 还是多 session ?

我正在AWS云上托管的Golang中创建一个应用程序,它使用多种AWS服务,即S3、DynamoDB、ParameterStore。目前,处理每个AWS服务的各个模块都有自己的AWSsession。awsSession,err:=session.NewSession(&aws.Config{Region:aws.String(os.Getenv("AWS_REGION"))})从性能的角度来看,这是正确的方法,还是在主程序中创建单个session并将引用传递给单个模块会是更好的方法? 最佳答案 建议尽可能重用session。来自AW

go - 松露与 Golang Web3

我正在使用thisEthereumGoClient并尝试调用并获取智能合约函数的响应。智能合约中的函数很简单(测试用):functiongetVotesForImgIds()externalviewreturns(uint32){return12345;}我正在使用truffle部署合约:trufflecompiletrufflemigrate我的Go服务器也很基础,这里是主要功能中的重要部分:abi:=getVotesContractJson()["abi"]//worksfinejsonAbi,err:=json.Marshal(abi)iferr!=nil{log.Fatal(e

amazon-web-services - 在 Golang 中使用 UploadPartCopy 到 MultiPartUpload 时遇到 AccessDenied

我正在尝试使用S3MultipartUpload来连接S3存储桶中的文件。如果您有多个大于5MB的文件(最后一个文件可以更小),您可以在S3中将它们连接成一个更大的文件。它基本上等同于使用cat将文件合并在一起。当我尝试在Go中执行此操作时,我得到:调用UploadPartCopy操作时发生错误(AccessDenied):拒绝访问代码看起来像这样:mpuOut,err:=s3CreateMultipartUpload(&S3.CreateMultipartUploadInput{Bucket:aws.String(bucket),Key:aws.String(concatenated

google-app-engine - 如何在本地谷歌应用引擎环境中创建拉/推队列

我需要在本地启动我的谷歌应用引擎项目。它在谷歌服务器上正常工作,但调试变得很痛苦,因为在每个修复上部署都需要很多时间。我几乎已经设法在本地启动它,但我不明白如何创建队列,这是必要的。我的步骤:运行dev_appserver.pyapp.yaml,遵循usinglocaldevelopmentserver指导。除队列外一切正常:_,err:=taskqueue.Add(u.Ctx(),task,queueName)exceptions.ThrowIfErr(true,"err_msg",err)throwPanic!UserMessage:,Error:APIerror1(taskque

docker - 无法在docker中构建golang应用程序

我已经使用示例制作了一个golang应用程序,但是当我设置docker来构建和运行它时,它无法构建并给出错误ERROR:forgoserverCannotstartservicegoserver:b'OCIruntimecreatefailed:container_linux.go:348:startingcontainerprocesscaused"exec:\\"./app\\":stat./app:nosuchfileordirectory":unknown'我的Dockerfile是FROMgolang:1.8WORKDIR/usr/src/appCOPY..RUNCGO_EN

amazon-web-services - 如何将 S3 数据加载到本地内存,而不是保存到文件

这个问题在这里已经有了答案:Howtokeepfilesinmemory-transferringfilesbetweenserverswithoutstoringthemlocally(1个回答)关闭4年前。这是我当前的代码:import("time""reflect""io/ioutil""fmt""os""github.com/golang/protobuf/proto""github.com/aws/aws-sdk-go/service/s3""github.com/aws/aws-sdk-go/service/s3/s3manager""github.com/aws/aws-

amazon-web-services - aws xray 和 golang http 调用

我正在尝试在我的go应用程序上使用awxxray来调用http服务。我只是跟着这个,不确定我是否错过了什么,https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-go-httpclients.html我像这样进行http调用:payloadStr,_:=json.Marshal(dxPayload)fmt.Println("size:",int(unsafe.Sizeof(bytes.NewBuffer(payloadStr))))clambda=&http.Client{}//-------ADDEDXRAYHERE---

google-app-engine - Go 应用引擎数据存储中的动态索引

我正在使用带有GoLang的GoogleAppEngine。我正在使用数据存储来保存数据。在我的应用程序中,对数据存储的请求数很高,因此探索解决方案并实现分片。对于每个实体,我保留了5个分片,在插入时我得到了一个介于0-4之间的no并插入到entityname_no中。在读取数据时,我从所有四个实体和过程中读取它。我遇到的问题是我有两个get查询,在第一个查询中我有两个过滤器(String、bool),在第二个查询(String、bool和date)中我有三个过滤器。第一个查询运行良好,但在第二个查询中,它需要所有5个实体的索引,其中index.yaml中的索引仅与实体相关。有没有办法